package filter

import (
	"admin100/library/define"
	"admin100/library/define/defErr"
	"strings"

	"github.com/gogf/gf/net/ghttp"
	"github.com/gogf/gf/text/gstr"
)

const UserId = "uid"

//不去除空格名单
var SpaceBlackList = map[string]string{"cronTimeStr": "-"}

// 去除请求字符串空格
func TrimParseFormAndSetSessionPostId(r *ghttp.Request) {
	// var (
	// 	existKeyId = false
	// )
	if contentType := r.Header.Get("Content-Type"); contentType != "" {
		if strings.Contains(contentType, "form") {
			if err := r.Request.ParseForm(); err != nil {
				defErr.Panic(define.Fail)
			}
		}
	}

	if len(r.PostForm) > 0 {

		for k, v := range r.PostForm {
			if _, ok := SpaceBlackList[gstr.Trim(k)]; ok {
				continue
			}
			// if k == UserId {
			// 	existKeyId = true
			// }
			if len(v) == 1 {
				trimStr := strings.ReplaceAll(v[0], " ", "")
				r.PostForm.Set(k, trimStr)
			}
		}

		// ctxUser := service.Session.GetUser(r.Context())
		// if ctxUser != nil {
		// 	//自动填写session.userid
		// 	if existKeyId {
		// 		r.PostForm.Set(UserId, gstr.Trim(gconv.String(ctxUser.Id)))
		// 	} else {
		// 		r.PostForm.Add(UserId, gstr.Trim(gconv.String(ctxUser.Id)))
		// 	}
		// }

	}

}
